package com.hice.demo.java.design.pattern.proxy;

import com.hice.demo.java.design.pattern.adapter.Source;
import com.hice.demo.java.design.pattern.decorator.Sourceable;

/**
 * 代理模式
 * 就是采用一个代理类调用原有的方法，且对产生的结果进行控制。这种方法就是代理模式。
 * Created by echal on 2016/2/2.
 */
public class Proxy implements Sourceable{

    private Source source;

    /**
     * 代理--
     */
    public Proxy(){
        super();
        this.source = new Source();
    }

    @Override
    public void method() {
        before();
        source.method1();
        after();
    }

    private void after() {
        System.out.println("after proxy");
    }

    private void before() {
        System.out.println("before proxy");
    }
}
